Wichtig !!! | N E U E S ... | Inhalt | Hotline | Stichwortverzeichnis |
Kapitel 5-6
Der Befehlssatz: INPUT$ - LPRINT
INPUT$ | |
Typ: | Funktion |
Syntax: | INPUT$(<num.Ausdruck>[,<num.Ausdruck>]) INPUT$(<Anzahl Zeichen>[,<Dateinummer>]) |
Erklärung: | Liest eine bestimmte Anzahl Zeichen von der Tastatur bzw. von der genannten Datei. INPUT$ kann auch benutzt werden,
um Daten von der Modemschnittstelle bzw. Druckerschnittstelle zu holen. Der Kanal muß in diesem Fall zuvor
mit OPEN "V" bzw. OPEN "P" geöffnet
worden sein. Hinweis: Wird INPUT$ benutzt, um Zeichen von der Tastatur zu holen, so wird das System nicht blockiert. Die Pseudo-Multitaskingbefhle (z.B. ON TIMER GOSUB) werden weiterhin ausgeführt und auch andere Programme laufen weiter. Auch ein Programmabbruch mit [Ctrl]+[C] ist während der Eingabe möglich. |
Beispiel: |
WHILE NOT EOF(1) PRINT INPUT$(1,1); WEND CLOSE 1 PRINT "Taste drücken ..." Dummy$= INPUT$(1) END |
Ergebnis: |
|
siehe auch: | INPUT INKEY$ INPUT # |
INSTR | |
Typ: | Funktion |
Syntax: | INSTR([<num.Ausdruck>,]<String-Ausdruck>,<String-Ausdruck>) INSTR([<Suchbeginn>,]<String-Ausdruck>,<Zeichenfolge>) |
Erklärung: | Sucht die angegebene Zeichenfolge in <String-Ausdruck> und gibt deren Position zurück. Ist die Zeichenfolge
nicht in <String-Ausdruck> enthalten, so ist der Funktionswert 0. Der ganze String-Ausdruck wird vom ersten Zeichen ab durchsucht, es kann aber auch mit <Suchbeginn> eine Startposition übergeben werden. Das erste Zeichen in <String-Ausdruck> hat die Position 1. |
Beispiel: |
|
Ergebnis: |
|
Beispiel: |
P=INSTR(Pfad$,":") WHILE P PRINT "Doppelpunkt gefunden an Position:"; P P=INSTR(P+1,Pfad$,":") WEND |
Ergebnis: |
Doppelpunkt gefunden an Position: 22 Doppelpunkt gefunden an Position: 28 Doppelpunkt gefunden an Position: 36 |
siehe auch: | LEN LEFT$ RIGHT$ MID$ |
INT | |
Typ: | Funktion |
Syntax: | INT(<num.Ausdruck>) |
Erklärung: | Liefert die nächst kleinere ganze Zahl. Dadurch werden positive Werte ab- und negative Werte aufgerundet. Die Funktion FIX rundet immer ab. |
Beispiel: |
|
Ergebnis: |
|
siehe auch: | FIX FRAC |
INV | |
siehe auch: | MAT |
IPL | |
Erklärung: | hat in Omikron Basic 6 keine Bedeutung und wird vom Compiler ignoriert. Bitte nicht verwenden. |
JOYSTICK | |
Erklärung: | hat in Omikron Basic 6 keine Bedeutung und wird vom Compiler ignoriert. Bitte nicht verwenden. |
KEY | |
Erklärung: | hat in Omikron Basic 6 keine Bedeutung und wird vom Compiler ignoriert. Bitte nicht verwenden. |
KEY LIST | |
Erklärung: | hat in Omikron Basic 6 keine Bedeutung und wird vom Compiler ignoriert. Bitte nicht verwenden. |
KILL | |
Typ: | Befehl |
Syntax: | KILL <String-Ausdruck> KILL <Dateiname> |
Erklärung: | Die genannte Datei wird gelöscht. In <Dateiname> muß ein FileSpecificationRecord übergeben werden. |
Beispiel: |
|
Ergebnis: |
|
siehe auch: |
LDUMP | |
Erklärung: | hat in Omikron Basic 6 keine Bedeutung und wird vom Compiler ignoriert. Bitte nicht verwenden. |
LEFT$ | |
Typ: | Funktion |
Syntax: | LEFT$(<String-Ausdruck>,<num.Ausdruck>) |
Erklärung: | Ergibt einen Teilstring des String-Ausdrucks beginnend ab dem ersten Zeichen mit der durch den numerischen Ausdruck gegebenen Länge. Ist der numerische Ausdruck größer als die Länge des String-Ausdrucks, so wird der gesamte String zurückgegeben. |
Beispiel: |
PRINT LEFT$(A$,7) |
Ergebnis: |
|
siehe auch: | RIGHT$ MID$ INSTR |
LEN | |
Typ: | Funktion |
Syntax: | LEN(<String-Ausdruck>) |
Erklärung: | Ergibt die Länge des String-Ausdrucks (maximal 2147483647). |
Beispiel: |
|
Ergebnis: |
|
siehe auch: | INSTR LEFT$ RIGHT$ MID$ |
LET | |
Typ: | Befehl |
Syntax: | LET <Variable>=<Ausdruck> |
Erklärung: | Weist der Variablen den Ausdruck zu. Auf den Befehl kann aber verzichtet werden. Er ist nur aus Kompatibilitätsgründen implementiert. Die Zuweisung lautet dann: <Variable>=<Ausdruck> |
Beispiel: |
PRINT A |
Ergebnis: |
|
siehe auch: |
LIBRARY | |
Erklärung: | hat in Omikron Basic 6 keine Bedeutung und wird vom Compiler ignoriert. Bitte nicht verwenden. |
LIBRARY CODE | |
Typ: | Dieses Wort ist reserviert. Bitte nicht verwenden. |
Erklärung: | LIBRARY CODE erscheint am Ende des Programms in Zeile 65534 und repräsentiert dort eine nachgeladene Library.
Hinter dem Wort findet sich noch ein Copyright-Vermerk, an dem normalerweise auch zu erkennen ist, um was für
eine Library es sich handelt. Näheres zum Thema Libraries finden Sie in dem Anhang Weitere Libraries für Omikron Basic. |
LINE COLOR | |
Typ: | Befehl |
Syntax: | LINE COLOR=<num.Ausdruck> |
Erklärung: | Der numerische Wert ist ein Index in die interne Farbtabelle (CLUT) des Omikron Basics. Die tatsächlichen Rot- Grün- und Blauanteile können Sie der Beschreibung über die 'Interne Farbtabelle des Omikron Basics' im Anhang entnehmen |
Beispiel: | |
Ergebnis: | |
siehe auch: | PALETTE LINE PATTERN
LINE STYLE LINE WIDTH
Interne Farbtabelle des Omikron Basics |
LINE INPUT | |
Typ: | Befehl |
Syntax: | LINE INPUT [#<num.Ausdruck>][<String-Ausdruck>;]<Variable>[[,<Variable>]] |
Erklärung: | LINE INPUT entspricht fast in jeder Hinsicht dem normalen INPUT. Es kann sogar wie INPUT mit USING zusammen zur
Masken-Eingabe verwendet werden (siehe INPUT USING). Lediglich Trennzeichen wie z.B. Kommas werden von LINE INPUT
ignoriert. Es wird immer bis zum Zeilenende eingelesen. Wenn also mehr als eine Variable eingelesen werden sollen,
so sind diese in unterschiedlichen Zeilen einzugeben. Hinweis: LINE INPUT blockiert das System nicht. Die Pseudo-Multitaskingbefhle (z.B. ON TIMER GOSUB) werden weiterhin ausgeführt und auch andere Programme laufen weiter. Auch ein Programmabbruch mit [Ctrl]+[C] ist während der Eingabe möglich. |
Beispiel: |
WRITE #1,"123","456","487" WRITE #1,"123","456","487" CLOSE 1 OPEN "I",1,FN Get_Fsspec$(0,0,"TEST.DAT") INPUT #1,A$,B$,C$ LINE INPUT #1,Line$ CLOSE 1 PRINT A$,B$,C$ PRINT Line$ |
Ergebnis: |
"123","456","487" |
siehe auch: | INPUT INPUT # INPUT USING |
LINE PATTERN | |
Typ: | Befehl |
Syntax: | LINE PATTERN=<num.Ausdruck>,<num.Ausdruck> LINE PATTERN=<Linienmuster>,<Linienmuster> |
Erklärung: | In den numerischen Ausdrücken müssen Long-Integer-Zahlen übergeben werden. Aus den zusammengenommen 64 Bit der beiden Zahlen wird ein 8 x 8 Bit-Muster erzeugt, daß als Füllmuster für Linien dient, wenn LINE STYLE= 0 eingestellt ist. Jedes gesetzte Bit wird gezeichnet, jedes gelöschte bleibt frei. |
Beispiel: |
LINE PATTERN= %01010101101010100101010110101010, %01010101101010100101010110101010 |
Ergebnis: |
Es wird eine graue Linie diagonal gezeichnet. |
siehe auch: | FILL PATTERN= LINE STYLE= |
LINE STYLE | |
Typ: | Befehl |
Syntax: | LINE STYLE=<num.Ausdruck> |
Erklärung: | Der numerische Wert gibt das bei Zeichen-Befehlen verwendete Füllmuster an. Für den numerischen Ausdruck
können Zahlen zwischen 0 und 38 eingesetzt werden. Andere Werte liefern ein undefiniertes Ergebnis. Bei 0
wird das mit LINE PATTERN definierte Muster verwendet. Hinweis: Um die Lücke zu zeichnen, wird immer Farbe 0 verwendet. Deshalb ist es in einer Schwarz-Weiß-Darstellung nicht ohne weiteres möglich, eine weiße gestrichelte Linie auf schwarzem Grund zu zeichnen. Man muß zusätzlich den geeigneten Zeichenmodus (MODE=) wählen. |
Beispiel: | |
Ergebnis: | |
siehe auch: | LINE COLOR LINE PATTERN LINE WIDTH |
LINE WIDTH | |
Typ: | Befehl |
Syntax: | LINE WIDTH=<num.Ausdruck> LINE WIDTH=<Linienbreite in Pixeln> |
Erklärung: | Stellt die Linienstärke in Pixeln für DRAW, BOX und RBOX Befehle ein. Hinweis: Mit der Prozedur 'Set_Pen_Size(Breite,Höhe)' aus der ExtensionLibrary kann man Breite und Höhe des Zeichenstifts auf unterschiedliche Werte setzen, so daß statt mit einem Quadrat mit einem Rechteck gezeichnet wird. |
Beispiel: | |
Ergebnis: | |
siehe auch: | BOX RBOX Set_Pen_Size |
LIST | |
Erklärung: | hat in Omikron Basic 6 keine Bedeutung und wird vom Compiler ignoriert. Bitte nicht verwenden. |
LIST$ | |
Erklärung: | Dieses Wort ist reserviert. Bitte nicht verwenden. |
LLIST | |
Erklärung: | hat in Omikron Basic 6 keine Bedeutung und wird vom Compiler ignoriert. Bitte nicht verwenden. |
LN | |
Typ: | Funktion |
Syntax: | LN (<num.Ausdruck>) |
Erklärung: | Berechnet den natürlichen Logarithmus des numerischen Ausdrucks. Der Definitionsbereich umfaßt alle
positiven reellen Zahlen. Negative Argumente führen zu einer NAN (Not A Number). LN ist die Umkehrfunktion zu EXP. |
Beispiel: |
PRINT LN(-1) |
Ergebnis: |
NAN |
siehe auch: | LOG EXP |
LOAD | |
Erklärung: | hat in Omikron Basic 6 keine Bedeutung und wird vom Compiler ignoriert. Bitte nicht verwenden. |
LOC | |
Typ: | Funktion |
Syntax: | LOC(<num.Ausdruck>) LOC(<Dateinummer>) |
Erklärung: | Gibt die Nummer des zuletzt gelesenen oder geschriebenen Datensatzes in einer Random-Access Datei an. Die Datei
muß zuvor durch OPEN "R" geöffnet worden sein. Hat bisher noch kein Zugriff auf die Datei
stattgefunden oder wurde über das Dateiende hinaus gelesen, so ergibt die Funktion den Wert 0. Bei anderen Dateitypen erhält man die Position des Schreib-Lese-Zeigers als Funktionswert. |
Beispiel: | |
Ergebnis: | |
siehe auch: | LOF EOF OPEN |
LOCAL | |
Typ: | Befehl |
Syntax: | LOCAL <Variable>[= <Ausdruck>][[,<Variable>[= <Ausdruck>] ]] |
Erklärung: | Definiert eine oder mehrere Variablen in einer Prozedur oder mehrzeiligen Funktion als lokal und weist ihnen gegebenenfalls den genannten Ausdruck zu. Die lokale Variable hat nur innerhalb dieser Routine Gültigkeit. Ruft sich die Routine selbst auf (rekursive Programmierung), so unterscheiden sich die lokalen Variablen der einzelnen Aufruftiefen. Mit LOCAL können auch in einer GOSUB-Unterroutine Variablen local definiert werden. Sie bleiben dann bis zum nächsten RETURN gültig. |
Beispiel: |
Beispiel PRINT A,B END DEF PROC Beispiel |
Ergebnis: |
15 10 |
siehe auch: | DEF PROC DEF FN GOSUB |
LOCATE | |
Typ: | Befehl |
Syntax: | LOCATE <num.Ausdruck>,<num.Ausdruck> LOCATE <Zeile>,<Spalte> |
Erklärung: | Positioniert den Cursor auf die angegebene Bildschirmstelle. Die oberste Zeile hat hierbei die Nummer eins, während die Spaltenzählung bei 0 beginnt. |
Beispiel: |
|
Ergebnis: |
|
siehe auch: | PRINT @ CSRLIN POS |
LOCK | |
Erklärung: | hat in Omikron Basic 6 keine Bedeutung und wird vom Compiler ignoriert. Bitte nicht verwenden. |
LOF | |
Typ: | Funktion |
Syntax: | LOF(<num.Ausdruck>) LOF(<Dateinummer>) |
Erklärung: | Bei einer sequentiellen Datei erhält man die Länge in Byte zurück, bei einer Random-Access Datei die Anzahl der gespeicherten Datensätze. Das Dateiende-Zeichen (CHR$(26)) wird, sofern vorhanden, mitgezählt. Die Datei muß zuvor mit OPEN geöffnet worden sein. |
Beispiel: | |
Ergebnis: | |
siehe auch: |
LOG | |
Typ: | Funktion |
Syntax: | LOG(<num.Ausdruck>,<num.Ausdruck>) LOG(<Basis>,<Wert>) |
Erklärung: | Errechnet den Logarithmus des Wertes zur angegebenen Basis. <Basis> und <Wert> müssen beide größer 0 sein. |
Beispiel: |
|
Ergebnis: |
|
siehe auch: | LN EXP |
LOW | |
Typ: | Funktion |
Syntax: | LOW(<num.Ausdruck>) |
Erklärung: | Ermittelt die unteren 16 Bit des in Long-Integer-Format gewandelten numerischen Ausdrucks. Gegenstück zu dieser
Funktion ist HIGH. Hinweis: LOW(X) <> X AND $FFFF |
Beispiel: |
|
Ergebnis: |
|
siehe auch: | HIGH |
LOWER$ | |
Typ: | Funktion |
Syntax: | LOWER$(<String-Ausdruck>) |
Erklärung: | Wandelt alle im String-Ausdruck enthaltenen Buchstaben in kleine Buchstaben um. Ist MODE "D" eingestellt, so werden auch die Umlaute Ä,Ö,Ü gewandelt. Gegenstück zu dieser Funktion ist UPPER$. |
Beispiel: |
|
Ergebnis: |
|
siehe auch: | UPPER$ MODE |
LPEEK | |
Typ: | Funktion |
Syntax: | LPEEK(<num.Ausdruck>) LPEEK(<Adresse>) |
Erklärung: | Liest an der durch den numerischen Ausdruck gegebenen Adresse eine Long-Integer-Zahl (32 Bit). Hinweis: Die Adresse sollte eine durch 4 teilbare Zahl sein (natürliche Adresse für Long-Integer-Operationen). Zwar kann der PowerPC-Prozessor auf beliebigen (auch ungeraden Adressen) operieren, die Geschwindigkeit verringert sich dadurch jedoch deutlich. |
Beispiel: | |
Ergebnis: | |
siehe auch: | PEEK WPEEK POKE WPOKE LPOKE |
LPOKE | |
Typ: | Befehl |
Syntax: | LPOKE <num.Ausdruck>,<num. Ausdruck> LPOKE <Adresse>,<Wert> |
Erklärung: | Legt <Wert> an der gegebenen Adresse als eine Long-Integer-Zahl ab. Der Wert muß zwischen -2147483648
und 2147483647 liegen. Hinweis: Die Adresse sollte eine durch 4 teilbare Zahl sein (natürliche Adresse für Long-Integer-Operationen). Zwar kann der PowerPC-Prozessor auf beliebigen (auch ungeraden Adressen) operieren, die Geschwindigkeit verringert sich dadurch jedoch deutlich. |
Beispiel: | |
Ergebnis: | |
siehe auch: | POKE WPOKE PEEK WPEEK LPEEK |
LPOS | |
Typ: | Funktion |
Syntax: | LPOS(<num.Ausdruck>) |
Erklärung: | Liefert die momentane Druckspalte. Der numerische Ausdruck ist ohne Bedeutung, muß aber angegeben werden. |
Beispiel: | |
Ergebnis: | |
siehe auch: | LPRINT |
LPRINT | |
Typ: | Befehl |
Syntax: | LPRINT [USING <String-Ausdruck>] [[{;|,}<Ausdruck>]][{,|;}] |
Erklärung: | Genau wie bei PRINT werden die folgenden Ausdrücke ausgegeben, allerdings auf den Drucker. Für die Formatierung
und Tabulierung der Ausgabe gelten die gleichen Regeln wie für PRINT. Auch die zusätzliche USING- Anweisung
läßt sich genauso wie bei PRINT USING einsetzen. Im einzelnen funktioniert der LPRINT Befehl wie folgt: Zunächst überprüft Omikron Basic, ob schon eine Seite auf dem Drucker angefangen wurde. Wenn dies der Fall ist, wird der String-Ausdruck an der aktuellen Cursorposition auf dieser Seite ausgegeben. Sobald der Cursor dabei das Ende der Seite erreicht hat, wird diese geschlossen und automatisch eine neue angefangen. Mit dem Befehl LPRINT CHR$(12); können Sie allerdings auch jederzeit ein Schließen der aktuellen Seite erzwingen. Der nächste LPRINT-Befehl öffnet dann automatisch eine neue Seite. Dies ist besonders für Ganzseitendrucker (z.B. Laserdrucker) wichtig, da man hier nichts von dem Ausdruck sieht, bevor die Seite nicht geschlossen wurde. Wenn Sie mit Ihrer Ausgabe fertigt sind, schließen Sie mit LPRINT CHR$(26); die letzte Seite und gleichzeitigt Ihr ganzes Dokument. Hinweis: LPRINT gibt die Daten nicht direkt an den Drucker, sondern in einen PrinterPort, den man sich als virtuellen Bildschirm vorstellen kann. Dort werden sie vom installierten Druckertreiber aufbereitet und an den Drucker geschickt. Wenn Sie Ihren Drucker oder Plotter direkt ansteuern wollen, können Sie dies tun, indem Sie die serielle Schnittstelle zum Drucker zunächst mit OPEN "P" öffnen und die Steuerkommandos dann direkt mit PRINT # oder PUT an den Drucker schicken. Dann müssen Sie aber selbst einen Treiber für Ihren Drucker programmieren, so daß diese Methode nur für Spezialanwendungen in Betracht kommt. Wichtig: Sobald Ihr Programm mit dem Ausdruck der Daten fertig ist, sollten Sie unbedingt mit LPRINT CHR$(26); die Seite und den PrinterPort schließen und dadurch auch gleich den Rest ausgeben. Wird nämlich der Druckertreiber gewechselt, solange noch der PrinterPort geöffnet ist, kann es zum Absturz kommen, da der neu gewählte Treiber normalerweise nicht mit dem alten PrinterPort harmoniert. Die Befehle INPUT , INPUT USING und FORM_ALERT schließen ein noch offenes Dokument. Der Druckvorgang kann daher nicht durch Befehle unterbrochen werden, die Ihr Programm zum aktiven Prozess machen würden. |
Beispiel: |
FOR I=1 TO 3 |
Ergebnis: |
Es werden die Texte "Seite 1", "Seite 2" und "Seite 3" auf 3 verschiedene Seiten auf dem Drucker ausgegeben. |
siehe auch: | PRINT PRINT # PUT LPOS GRAF_PORT |